home *** CD-ROM | disk | FTP | other *** search
- ┌───────────────────────────┐
- │E! SHORT INSTALLATION GUIDE│
- └───────────────────────────┘
-
- To install E!:
-
- 1/ Unpak the files E!40DSK1.ARC, E!40DSK2.ARC and E!40DSK3.ARC using ARC-E
- in a directory called C:\E! (or whatever name you prefer). Do not delete
- these files. They may be useful to you if E! files are lost. Please
- distribute E!40DSK1.ARC, E!40DSK2.ARC and E!40DSK3.ARC instead of E!
- individual files.
-
- If you have a two diskette drives system be aware that all E! files will
- not fit on a single diskette. E!40DSK1 contains all files really needed
- to execute E!. E!40DSK2 contains E! documentation, utilities and font
- files. E!40DISK3 contains the H! and P! utilities and the API
- documentation.
-
- 2/ At the DOS prompt enter SET E!=C:\E! (drive and directory where you
- copied E! files). If you have a RAM drive copy all files to it and use it
- as E! environment variable.
-
- 3/ At the DOS prompt enter E! E!.PRO and "uncomment" all options you want
- to activate. E!.PRO is a self-explanatory file. Save it using F4. This step
- is not mandatory and you may leave the main profile unchanged (that is, you
- will have no profile at all since it is a dummy profile).
-
- 4/ Eventually enter SET E!PATH=path;path;..... at the DOS prompt. If E!
- don't find the specified files in the current directory, it will search
- in all paths specified in E!PATH or in the APPEND command of DOS.
-
- 5/ Include the directory where you installed E! in your PATH command.
-
- So far, you're done.
-
- To edit one or more files enter
-
- E! filespec1 filespec2 ....
-
- at the DOS prompt.
-
- /L or /l anywhere on the command line will reload all files edited in the
- last session of E! in the current directory ( if you have activated the
- LOG switch in your active profile).
-
- To print the documentation, just enter "type e!.doc > prn" at the DOS
- prompt. E!.DOC is pre-paginated.
-
- I really hope E! will be very useful to you and pleasant to use. Have fun!
-
-
- ┌──────────┐
- │E! HISTORY│
- └──────────┘
-
- I'm a System Engineer working at IBM in France and I used many text
- editors in my programmer's life. The best tools I've seen (until I wrote
- E!) are BRIEF and E3, an IBM internal use only editor. They are very
- powerful programs but they both have the same drawback : they have not
- many basic functions and they have to be programmed to offer more
- sophisticated functionalities. Well, I think many people don't want to
- spend time programming the tool they use to write programs... Hmm, you
- see the idea?
-
- So I wrote E!. Many functions, quick, efficient, macros capabilities but
- no programming (at least in the first versions). I'm personnaly very
- pleased with the result but it's up to you to say if you are too.
-
- Many users told me it was necessary to do something more than the simple
- macros implementation. So the E! API was written, allowing the programmer
- to use his usual programming language to write new E! functions and add-in.
-
- It took many of my time from the past two years to write this program but
- it was really exciting. It was first written using Turbo Pascal 3.0 but I
- quickly got problems with the program size and I used Turbo Power's Turbo
- Extender to produce a 150 kb monster. Versions 2.x and 3.x where
- rewritten using Turbo Pascal 4.0 and Assembly language (Microsoft MASM)
- for some video routines. Version 4.0 has been compiled with Turbo Pascal
- 5.0. Beta testers were professional programmers. They have been very
- cruel to me but this helped a lot... and now they're using E!.
-
- Planned enhancements are :
-
- ("planned enhancement" has here the same meaning as in the IBM dialect; I
- sincerely plan to do this but I can't tell when I'll achieve it)
-
- - Swapping to disk when calling DOS (but it's not very easy because of the
- E! API specifications).
- - Regular search expressions (although I never used them with other
- editors but many people do)
- - EMS support (it will be very difficult due to the E! structure)
- - OS/2 version
-
- All this will depend on the success E! will gain among text editors
- users.
-
- There are many techniques used to design a text editor. Linked list method
- (Borland Editor toolbox) is very easy to implement but has very poor
- performances. Moreover, block manipulation is very difficult with such a
- structure. The "contiguous block" design and the "contiguous block with
- moving hole" design are very efficient for string search but too slow for
- lines or strings insertion when the block becomes bigger. I used a
- technique that could be called "dynamic pointers arrays allocation". A text
- in E! is represented by an array of pointers to text strings. This array is
- an element of a larger structure describing the current text. These
- structures are linked together in a circular list. A new text structure can
- easily be created and inserted in the circular list. The big difficulty is
- to manage the pointers arrays size when the text is loaded and when lines
- are inserted.
-
- This method cumulate advantages of other methods and has few drawbacks
- (except EMS cannot easily be implemented). It is easier to manage blocks
- with an array of strings. But since this array is actually not an array
- of fixed length strings but an array of pointers to strings, memory
- resources can be managed efficiently and no space is wasted. In E! there
- is never ONE extra byte allocated for a string that shouldn't need it.
- Inserting and deleting lines in such a structure is very easy since we
- have only to move pointers and not whole strings.
-
- ┌──────────────────────────────────────────────┐
- │MODIFICATIONS SINCE LAST DOCUMENTATION UPDATE │
- └──────────────────────────────────────────────┘
-
-
- << NO MODIFICATION >>
-
-
-
- ┌──────────────────────────┐
- │E! TIPS, CAVEATS and HINTS│
- └──────────────────────────┘
-
- If you use E! as "every day's" editor you may want to copy E!.EXE and all
- files related to E! on your RAM disk (if you ever installed any one on
- your system) each time you initialize your computer (autoexec.bat). This
- way, E! will edit your files very quickly and your macros will execute
- quicker (although they perform very good even if you run them from a hard
- disk). Don't forget to set the E! environment variable to the right
- value. Likewise, il will be a good idea to install H!.EXE and P!.EXE on
- your RAM disk.
-
- **************
-
- Personally, I have programming profiles and text editing profiles. I use
- different color settings for each profile type. So, I always know by
- simply looking at the screen which profile is active.
-
-
- **************
-
- Macros are generally used to avoid repetitive tasks but you can also use
- macros to implement new E! functions. Here is a little example:
-
- Generate the following macros using MACGEN and name them:
-
- GOLEFT.MAC GORIGHT.MAC
-
- [EDITMODE] [EDITMODE]
- [BLOCK_MARK] [BLOCK_MARK]
- [LEFT] [RIGHT]
- [MOVE_BLOCK] [RIGHT]
- [UNMARK] [MOVE_BLOCK]
- [LEFT]
- [UNMARK]
-
- I have assigned these macros to my Alt F11 and Alt F12 keys. Now, if I
- hit one of these keys, the current character is moved smoothly to the
- left or to the right. This is very useful, for example, when you type
- characters in reverse order.
-
- **************
-
- Don't set the DELAY value too low. It could then be possible that you never
- see the E! messages.
-
- **************
-
- Deleting a very big block or group of lines may take a few seconds. This is
- because E! is trying to keep your memory space as clean as possible. So, it
- will be possible to run bigger programs when you make a DOS "shell".
-
- **************
-
- If you receive a "source and destination conflict" message when you are
- trying to move a block with Alt M, use the Alt A (adjust) function instead.
-
- **************
-
- The E! HELP file can not be as accurate as the E! documentation. If you
- get inconsistent information between the HELP file and E!.DOC, always
- believe E!.DOC. H! is a more complete and independent HELP program.
-
- **************
-
- I'm aware that my english is poor. I'm sorry if this makes some parts of
- the E! documentation unreadable (I don't really think so but I can't be the
- judge in that matter).
-
- **************
-
- The file compression process does not preserve file attributes. So the
- following files should be set to "read-only":
-
- E!.HLP E!KEY.HLP E!.MSG
-
- To do so, use the DOS "ATTRIB" command.
-
- **************
-
- Don't set the TYPEMATIC autorepeat rate too high. You could find you
- deleting more lines than you really wish to (I told you E! is quick).
-
- **************
-
- This will be repeated in the E! documentation but it is VERY important.
- DO NOT SET the "IBM101T" profile command to YES unless your computer is
- equipped with an enhanced keyboard BIOS. That is, a BIOS processing
- services #10h and #11h of the BIOS 16H interrupt handler. Doing so will
- cause your machine to hang.
-
- **************
-
- If the current text path is very long ( over 47 characters), it will
- appear truncated on the command line. Don't worry. This is only done at
- display time.
-
- **************
-
- Patrick PHILIPPOT. 1/5/89
- ******************************************************************************
-